package com.example.mainactivity;

import java.util.LinkedList;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.mainactivity.MyFile.IMyFileListener;
import com.example.mainactivity.MyFile.WaitTask;

public class MainActivity extends Activity{

	private TextView mTextView;
	private MyFile myFile;
	private Thread thread;
	private Thread thread2;
	private LinkedList<WaitTask>  mWaitTask = new LinkedList<WaitTask>();
	private WaitTask downloadTask;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mTextView = (TextView) findViewById(R.id.text_view);
		myFile = new MyFile(this);
		
		thread = new Thread(new Runnable() {
			@Override
			public void run() {
				myFile.setIMyFileListener(new IMyFileListener() {	
					@Override
					public void setData(LinkedList<WaitTask> wait_task) {
						mWaitTask = wait_task;
					}
				});
				myFile.getData();
			}
		});
		
		thread2 = new Thread(new Runnable() {
			@Override
			public void run() {
				// TODO 自动生成的方法存根
				while(true){
					synchronized (mWaitTask) {  
			            if (mWaitTask.size()>0) {  
			                downloadTask = mWaitTask.removeFirst();
			                downloadTask.run();
			            }  
			        }  
				}
			}
		});
		
		thread2.start();
		thread.start();
		
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {

		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	/**
	 * A placeholder fragment containing a simple view.
	 */
	public static class PlaceholderFragment extends Fragment {

		public PlaceholderFragment() {
		}

		@Override
		public View onCreateView(LayoutInflater inflater, ViewGroup container,
				Bundle savedInstanceState) {
			View rootView = inflater.inflate(R.layout.fragment_main, container,
					false);
			return rootView;
		}
	}

}
